PHP_SAPI sabiti ve PHP_SAPI_NAME fonksiyonu
php_sapi sabiti, çekirdekte öntanımlı sabitlerden birisidir. PHP, 4.2.0 sürümünden sonrasında mevcuttur. String değer döndürür.
php_sapi_name fonksiyonundan dönen değer ile php_sapi sabitinden dönen değer aynıdır. php_sapi_name fonksiyonu; HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür.PHP’nin kullandığı arayüzü sunucu api’si olarak da geçer, arayüzü küçük harfli dizge ile döndürür. Döndürebileceği değerler tamamı olmasa da olası değerler şunlardır: aolserver, apache, apache2filter, apache2handler, caudium, cgi (PHP 5.3’ten beri), cgi-fcgi, cli, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen,thttpd, tux ve webjames.
Php.net’te yer alan bir örneğe göre;
<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == ‘cgi’) {
echo “CGI PHP kullanıyorsunuzn”;
} else {
echo “CGI PHP kullanmıyorsunuzn”;
}
?>
Sunucu api’sinin cgi olup olmadığına bakılmıştır. Tanımlı olan sapi de her zaman apaçık olmayabilir. Mesela apache2handler/filter olarak belirtilmiş olabilir.
Bir örnek yine php.net kullancısına ait, local ya da uzaktan kontrol mü edilip edilmediğini denetleyip izin veren bir uygulama;
<?php
if(isset($_SERVER[“REMOTE_ADDR”]) && ($_SERVER[“REMOTE_ADDR”] != $_SERVER[“SERVER_ADDR”])){
exit(‘Permission denied’);
};
// do something(birşeyler yap)
?>
Bu alttaki uygulama ile de kullanıcının tarayıcı mı yoksa cli mı kullandığını denetleyebiliriz;
<?php
if (isset ($_SERVER[‘SESSIONNAME’])) echo ‘CLI’;
else echo ‘Browser’;
?>
CLI bu arada command line interface yani komut satırı arabirimi demektir.
Bu fonksiyon ya da öntanımlı saibt sayesinde kullanılan arayüz doğrultusunda işlem yapmamıza olanak sağlar.
Kaynak;
php.net
İlham;
php.ini dosyası…